package com.dhcc.DRGsHosp.application;

import java.util.List;
import java.util.Map;

import com.dhcc.DRGsHosp.core.domain.IndexCal;


/**
 * @title		:SpecialMonitorApplication.java
 * @description	:
 * @author		:lileizheng
 * @date		:2016年3月4日
 * @version     :1.0
 * @copyright   :DHCC 2013-2014 
 */
public interface SpecialMonitorApplication {

	/**
	 * @methodname    :monitor
	 * @description   :专科建设指标监测
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年3月8日
	 */
	public List<Object[]> monitor(IndexCal m);

	/**
	 * @methodname    :getWeights
	 * @description   :权重区间
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年3月23日
	 */
	public List<String> getWeights(IndexCal result);

	/**
	 * @methodname    :getQuotasByWeightInterval
	 * @description   :权重区间各指标计算
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年3月28日
	 */
	public Map<String, Object> getQuotasByWeightInterval(IndexCal entity, Double weight1, Double weight2);

	/**
	 * @methodname    :getQuotasDepByWeightInter
	 * @description   :权重区间科室
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年3月30日
	 */
	public List<Map<String, Object>> getQuotasDepByWeightInter(IndexCal entity, String weight1, String weight2);

	/**
	 * @methodname    :getDepsInnerTimeFeeDeadEff
	 * @description   :获取院内时间消耗指数，院内费用消耗指数，院内死亡指数
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年3月31日
	 */
	List<Map<String, Object>> getDepsInnerTimeFeeDeadEff(IndexCal result, String weight1, String weight2);

	/**
	 * @methodname    :getDRGsByDepsOrWeight
	 * @description   :获取DRGs列表
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年4月1日
	 */
	List<Map<String, Object>> getDRGsByDepsOrWeight(IndexCal result, String weight1, String weight2);

	/**
	 * @methodname    :getNotInDRGs
	 * @description   : 
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2016年4月6日
	 */
	public List<Object[]> getNotInDRGs(IndexCal entity);
	
	/**
	 * 	多线程查询
	 *  multithreadQuery.  
	 *  @Description：
	 *  @Author ChenHanlin
	 *  @param query
	 *  @return 
	 *  @Date:2017年12月5日上午9:41:10
	 */
	public List<Map<String, Object>> multithreadQuery(final List<Map<String, Object>> query) ;

}
